package com.s7.pull.listener;

import com.s7.pull.PullRefreshLayout;

/**
 * 拖拽动作回调
 */
public interface OnPullListener {

    /**
     * 下拉中
     * @param layout
     * @param fraction
     */
    void onPullDown(PullRefreshLayout layout, float fraction);

    /**
     * 上拉中
     * @param layout
     * @param fraction
     */
    void onPullUp(PullRefreshLayout layout, float fraction);

    /**
     * 下拉松开
     * @param layout
     * @param fraction
     */
    void onPullDownReleasing(PullRefreshLayout layout, float fraction);

    /**
     * 上拉松开
     * @param layout
     * @param fraction
     */
    void onPullUpReleasing(PullRefreshLayout layout, float fraction);

    /**
     * 刷新中。。。
     * @param layout
     */
    void onRefresh(PullRefreshLayout layout);

    /**
     * 加载更多中
     * @param layout
     */
    void onLoad(PullRefreshLayout layout);

    /**
     * 手动调用刷新完成
     */
    void onFinishRefresh();

    /**
     * 手动调用加载完成
     */
    void onFinishLoad();

    /**
     * 正在刷新时向上滑动屏幕，刷新被取消
     */
    void onRefreshCanceled();

    /**
     * 正在加载更多时向下滑动屏幕，加载更多被取消
     */
    void onLoadmoreCanceled();

}
